package com.youdoneed.community.forum.dao;

import java.util.List;

import com.youdoneed.community.forum.vo.updateUserInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.youdoneed.community.forum.entity.Forumcomment;
@Mapper
public interface ForumcommentMapper {
    int deleteByPrimaryKey(String forumCommentId);

    int insert(Forumcomment record);

    int insertSelective(Forumcomment record);

    Forumcomment selectByPrimaryKey(String forumCommentId);

    int updateByPrimaryKeySelective(Forumcomment record);

    int updateByPrimaryKey(Forumcomment record);
    
    /**
     * 更新点赞数据
     * @param record
     * @return int
     * @author lid
     * @date 2017.6.22
     */
    int updateLikesCount(String forumCommentId, int likesCount);

    /**
     * 用户修改个人信息时，把对应的帖子中的用户信息一起改掉
     * @param userId
     * @param nickName
     * @param userHeadUrl
     * @return
     */
    int updateUserInfo(updateUserInfoVo vo);
    
    /**
     * 更新评论数据
     * @param record
     * @return int
     * @author lid
     * @date 2017.6.22
     */
    int updateCommentCount(String forumCommentId, int commentCount);
    
    /**
     * 查找帖子的所有评论
     * @param ForumMsgId
     * @return List
     * @author lid
     * @date 2017.6.6
     */
    List<Forumcomment> selectByForumMsgId(String forumMsgId);
    
    List<Forumcomment> getSelectForumcomment(@Param("content")String content,@Param("createDateS")String createDateS,@Param("createDateE")String createDateE);

    /**
     * 获取我的朋友对新闻的评论
     * @param userId
     * @param postId
     * @return
     * @author lid
     */
    List<Forumcomment> selectFriendsNewsCmt(String postId);

    /**
     * 统计我的评论的点赞总数
     * @param userId
     * @return int
     * @author lid
     * @date 2017.7.11
     */
    int countLikePointsByUserId(String userId);

    /**
     * 获取首页帖子的5条评论
     * @param msgId
     * @return List<Forumcomment>
     * @author lid
     * @date 2017.9.23
     */
    List<Forumcomment> getLimitCommentsByMsgId(String forumMsgId);

    /**
     * 删除帖子的评论(当用户删除帖子时，同时删除评论)
     * @param msgId
     * @return
     * @author lid
     * @date 2017.10.27
     */
    int deleteCommentsByMsgId(String msgId);
}